From: Florian Müllner Date: Tue, 3 Mar 2015 01:04:37 +0000 (+0100) Subject: calendar: Hide message list when all sections are disallowed X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~1600 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=db4076b6977d9de41ccb8e73f3eb1cbe57ba0d75;p=gnome-shell.git calendar: Hide message list when all sections are disallowed If none of the sections is allowed to display anything, it doesn't make sense to show the message list at all, so hide it in that case. https://bugzilla.gnome.org/show_bug.cgi?id=745494 --- diff --git a/js/ui/calendar.js b/js/ui/calendar.js index 1c47b74e7..e325a8dc5 100644 --- a/js/ui/calendar.js +++ b/js/ui/calendar.js @@ -1730,6 +1730,8 @@ const MessageList = new Lang.Class({ this._eventsSection = new EventsSection(); this._addSection(this._eventsSection); + + Main.sessionMode.connect('updated', Lang.bind(this, this._sync)); }, _addSection: function(section) { @@ -1772,7 +1774,15 @@ const MessageList = new Lang.Class({ }, _sync: function() { - let showPlaceholder = [...this._sections.keys()].every(function(s) { + let sections = [...this._sections.keys()]; + let visible = sections.some(function(s) { + return s.allowed; + }); + this.actor.visible = visible; + if (!visible) + return; + + let showPlaceholder = sections.every(function(s) { return s.empty || !s.actor.visible; }); this._placeholder.actor.visible = showPlaceholder;